package com.tensquare.friend.service;

import com.tensquare.friend.dao.FriendDao;
import com.tensquare.friend.dao.NoFriendDao;
import com.tensquare.friend.pojo.Friend;
import com.tensquare.friend.pojo.NoFriend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional
public class FriendService {
    @Autowired
    private FriendDao friendDao;
    @Autowired
    private NoFriendDao nofriendDao;
    public int addFriend(String userid, String friendid) {
        //先判断userid到friendid是有数据，有就是重复添加好友，返回0

        Friend friend = friendDao.findByUseridAndFriendid(userid, friendid);
        if (friend!=null){
            return 0 ;
        }

         friend =new Friend();
        friend.setFriendid(friendid);
        friend.setIslike("0");
        friend.setUserid(userid);
        friendDao.save(friend);

        //判断双方是否都有值，彼此都喜欢（关注）
        if (friendDao.findByUseridAndFriendid( friendid,userid)!=null){
            //如果是，把双方islike都改成1
            friendDao.updateIslike("1",userid,friendid);
            friendDao.updateIslike("1",friendid,userid);
        }
        return  1;
    }


    public int addNoFriend(String userid, String friendid) {
        //先判断是否为已经是非好友
        NoFriend noFriend = nofriendDao.findByUseridAndFriendid(userid, friendid);
            if (noFriend!=null){
                return 0;
            }
            noFriend=new NoFriend();
            noFriend.setFriendid(friendid);
            noFriend.setUserid(userid);
            nofriendDao.save(noFriend);
            return 1;
    }

    public void deleteFriend(String userid, String friendid) {
        //删除好友表中userid到friendid这条数据
        friendDao.deleteFriend(userid,friendid);

        //更新friendid到userid的islike为0
        friendDao.updateIslike("0",friendid,userid);
        //非好友表中添加数据
        NoFriend noFriend = new NoFriend();
        noFriend.setUserid(userid);
        noFriend.setFriendid(userid);
        nofriendDao.save(noFriend);
    }
}
